using System;
using System.Collections.Generic;

[Serializable]
public class CityDistrict
{
	public string name;

	public string sceneName;

	public int maxReputation;

	public float timeDescendingReputation;

	public bool elite;

	public bool learning;

	public int levelsCount;

	public List<int> numberToUnlockList;

	public List<int> cashCountList;

	public int levelAvailability;

	public float timeSpawnCash;

	public int cashCount;

	public static string keyMaxReputation = "R";

	public static string keyElite = "E";

	public static string keyLearning = "L";

	public static string keyLevelsCount = "LC";

	public static string keyNumberToUnlockList = "N";

	public static string keyCashCountList = "CCL";

	public static string keyTimeDescending = "TD";

	public static string keyTimeSpawnCash = "TSC";

	public static string keyCashCount = "CC";

	public static string keyLevelAvailability = "LA";

	public CityDistrict()
	{
		name = string.Empty;
		sceneName = string.Empty;
		levelAvailability = 0;
		elite = false;
		learning = false;
		timeDescendingReputation = 0f;
		timeSpawnCash = 0f;
		cashCount = 0;
		levelsCount = 0;
		numberToUnlockList = new List<int>();
		cashCountList = new List<int>();
	}

	public Dictionary<string, object> ToDictionary()
	{
		Dictionary<string, object> dictionary = new Dictionary<string, object>();
		dictionary.Add(keyElite, elite);
		dictionary.Add(keyLearning, learning);
		dictionary.Add(keyTimeDescending, timeDescendingReputation);
		dictionary.Add(keyMaxReputation, maxReputation);
		dictionary.Add(keyTimeSpawnCash, timeSpawnCash);
		if (elite)
		{
			dictionary.Add(keyLevelsCount, levelsCount);
			dictionary.Add(keyNumberToUnlockList, numberToUnlockList);
			dictionary.Add(keyCashCountList, cashCountList);
		}
		else
		{
			dictionary.Add(keyLevelAvailability, levelAvailability);
			dictionary.Add(keyCashCount, cashCount);
		}
		return dictionary;
	}
}
